package mysql8学习.高级.第08章_索引的创建和设计原则;

/**
 * 全文索引  适合大型数据集
 *
 * 全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。
 * 它能够利用[分词技术]等多种算法智能分析出文本文字中关键词的频率和重要性，
 * 然后按照一定的算法规则智能地筛选出我们想要的搜索结果。
 * 全文索引非.常适合大型数据集，对于小的数据集，它的用处比较小。
 * 使用参数 FULLTEXT 可以设置索引为全文索引。
 * 在定义索引的列上支持值的全文查找，允许在这些索引列中插入重复值和空值。
 * 全文索引只能创建在 CHAR、VARCHAR 或TEXT 类型及其系列类型的字段上，
 * 查询数据量较大的字符串类型的字段时，使用全文索引可以提高查询速度。
 * 例如，表student的字段information是TEXT类型,该字段包含了很多文字信息。
 * 在字段information 上建立全文索引后，可以提高查询字段information的速度。
 * 全文索引典型的有两种类型:  """"自然语言的全文索引和布尔全文索引""""。
 * ● 自然语言搜索引擎将计算每一个文档对象和查询的相关度。
 *   这里，相关度是基于匹配的关键词的个数，以及关键词在文档中出现的次数。
 *   在整个索引中出现次数越少的词语，匹配时的相关度就越高。
 *   相反,非常常见的单词将不会被搜索，如果一个词语的在超过50%的记录中都出现了，
 *   那么自然语言的搜索将不会搜索这类词语。
 *
 * MySQL数据库从3.23.23版开始支持全文索引，但MySQL5.6.4 以前 只有Myisam支持，
 * 5.6.4版本以后 innodb才支持，但是官方版本不支持中文分词，需要第三方分词插件。
 * 在5.7.6版本, MySQL内置了 ngram全文解析器，用来支持亚洲语种的分词。
 * 测试或使用全文索引时，要先看一下自己的MySQL版本.存储引擎和数据类型是否支持全文索引。
 *
 * 随着大数据时代的到来,关系型数据库应对全文索引的需求已力不从心，
 * 逐渐被 solr 、ElasticSearch 等专门的搜索引擎所替代。
 *
 */
public class A6_全文索引 {
}

